#ifndef __BSP_LED_H
#define __BSP_LED_H
#ifdef __cplusplus
extern "C"
{
#endif

#include "bsp_Inc.h"

#ifdef __cplusplus
}
#endif
#ifdef __cplusplus

class bsp_Led
{
private:
    typedef enum
    {
        LED_ON = 0U,
        LED_OFF = 1U,
    } bsp_ledStates_t;

    BSP_GPIO_t *GPIOx;
    uint16_t Pin;
    bsp_ledStates_t States;

public:
    bsp_Led(BSP_GPIO_t *GPIO_Group, uint16_t GPIO_Pin)
    {
        GPIOx = GPIO_Group;
        Pin = GPIO_Pin;
        States = LED_OFF;
    }
    ~bsp_Led()
    {
    }

    void init();
    void on();
    void off();
    void toggle();
};

#if DEMO_LED
extern bsp_Led demoLed;
#endif

#endif

#endif
